Struts2升级到2.5.16

您所在的位置:网站首页 struts2 2337升级到2522 Struts2升级到2.5.16

Struts2升级到2.5.16

2023-10-10 17:36| 来源: 网络整理| 查看: 265

    在对项目进行安全检测的时候发现因为Struts2版本的问题,项目存在着很大的漏洞。因此需要对Struts2进行升级,解决漏洞。    直接将Struts2升级到最新版本2.5.16。    首先需要下载struts2.5.16的包,下面是下载地址,下载里面有很多包,下载下来打开关于lib的解压文件,很多升级包在这个里面就可以找到。    struts2.5.16版本下载链接:http://mirrors.hust.edu.cn/apache/struts/2.5.16/struts-2.5.16-all.zip    在升级struts2到2.5.16版本需要升级的包里面有一个包是jackson-dataformat-xml-2.1.2.jar,这个包在上面地址上面是无法下载的,它的下载地址在下面    http://repo1.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.1.2/jackson-dataformat-xml-2.1.2.jar    下载完之后,要做的就是jar包替换,在替换的时候需要注意的是,直接删除项目中lib下的jar包是无法删除的。右键单击项目,选择build path,在这个里面可以看到当前项目需要用到的jar包,选中移除,然后到项目中商储即可。(温馨提示:在删除之前最好做一个原来包文件的备份,防止后面需要找不到)。删除原来的jar包后换上2.5.16的包即可。下面罗列需要更换的包。    struts2-core-2.5.16.jar、struts2-json-plugin-2.5.16.jar、log4j-api-2.10.0.jar、xstream-1.4.10.jar、commons-io-2.5.jar、commons-lang3-3.6.jar

    commons-fileupload-1.3.3.jar、freemarker-2.3.26-incubating.jar、javassist-3.20.0-GA.jar、jackson-annotations-2.9.0.jar、jackson-core-2.9.4.jar

    jackson-databind-2.9.4.jar、jackson-dataformat-xml-2.1.2.jar、struts2-rest-plugin-2.5.16.jar    如果项目中没有的包直接添加即可,删掉xwork-core-2.3.28.1.jar,如果没有不用理会。    上面的包我是都替换了,但是个人认为只需要替换struts2-core-2.5.16.jar、struts2-json-plugin-2.5.16.jar即可,由于项目要求解决漏洞的时间比较紧,所以没有做深一步的研究。      替换完包之后需要做的是修改web.xml文件,在web.xml中找到关于struts2的前端控制器的配置,进行修改        struts2    org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter        StrutsPrepareAndExecuteFilter的路径,以前是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter修改后没有了.ng

    修改完web.xml文件之后,需要修改的是struts.xml文件,在struts.xml文件中添加下面内容                这是关于常量的修改,对于后面两个常量的解释是,在以前的struts2版本中,如果不指定action访问的方法,则会去访问一个默认的方法execute,在这里将这个设置为空。在这里如果不为空,则不会将action中配置的method传递过来。    

    在struts.xml中设置所有方法都被允许,在package标签中设置,在package标签中添加regex:.*    global-allowed-methods在package中的位置必须是在所有action之前,在所有其他global之后,不然就会报错,需要注意的是global-allowed-methods这个属性只在同一个package中起作用。到此我的项目关于Struts2的升级工作就完成了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3